html { height: 100%; overflow: auto; }
body { min-height: 100%; }
* {
  margin: 0;
  padding: 0;
  line-height: 2em
}

body {
  width: 100vw;
  display: flex;
  flex-direction: column;


}


header {
  background-color: lemonchiffon;
}

main {
  flex: 1;
  min-height: 0;

  display: flex;
  align-items: stretch;
  width: 100%;


  /* style */
  background-color: lightgray;
}

footer {
  margin-top: auto;

  /* style */
  background-color: linen;
}

nav {
  width: 220px;
  order: -1;

    /* style */
    background-color: rgb(235, 208, 157);
}

article {
  flex: 1;

    /* style */
    background-color: rgb(199, 245, 229);
}

aside {
  width: 220px;

    /* style */
    background-color: rgb(219, 192, 235);
}